The present invention generally relates to a portable digital computing device for use in storing and accessing data, and more specifically, to a digital computing device provided with an alternative to a user interface display screen to control applications executing on the device.
Portable computing devices ranging in size from credit card sized personal data assistants to laptop computers have become increasingly popular for use by business people and others who must travel about and thus cannot readily access information stored on their desktop computer or office network workstation. Although laptop computers are capable of running virtually all of the application programs that execute on desktop machines, they often weigh more than seven pounds and cannot be readily carried about in a pocket or purse. There is thus an increased demand for substantially smaller palm type computers that are able to run business applications of less complexity than those designed to run on a desktop computer and which enable a user to quickly access all types of personal and business related data, such as addresses, telephone numbers, scheduled appointment times, etc.
More recently, another type of portable computer has been developed that is intended to be used in automobiles, e.g., integrated with an entertainment sound system of the vehicle. Because of its use in an automobile, such devices are sometimes referred to as an xe2x80x9cAutoPC.xe2x80x9d Since a driver of a vehicle is not free to operate a conventional keyboard, touch screen, or other interface devices requiring substantial attention, these automotive portable computers are being provided with voice recognition control capability.
Computers are also being developed that are specifically adapted for installation in appliances. Compared to conventional firmware programmed controls or programmable logic devices, these new appliance computers will provide greater versatility and will interface with users in new ways that are currently not possible. For example, an appliance computer may allow a user to define a dishwashing cycle by speaking the options to the computer.
It will thus be apparent that newer types of portable computers, automobile computers, and appliance computers will not employ full conventional keyboards for control and entry of data into the computer. Although laptop computers usually include a keyboard sufficiently large to enable relatively efficient text entry, smaller palm type computers usually do not. If a keyboard is provided on such machines, it is typically too small to permit touch typing. Text entry may be available only through a touch screen that displays a reduced-size representation of a keyboard, permitting characters to be entered with a stylus, a carefully positioned finger, or another small diameter pointing object. As a further alternative, handwriting recognition can be used on a small computing device for entry of data and for control input. However, it would be preferable to provide an alternative technique to enter information that does not require the user to use a keyboard or a stylus to write on a screen. Voice recognition offers one such solution to this problem.
Even if a keyboard is provided on a computing device that is sufficiently large to enable a user to enter text efficiently by hand, the touch typing text entry process requires both hands and requires both eye/finger coordination, and substantial attention to the process. Thus, it is not possible to safely drive a vehicle while typing an entry on a computer keyboard, and regardless of the technique used, it would likely be safer to pull over and stop the car while the driver deals with the desired computing task. There are many other occasions when a person simply wants to enter a quick memo or reminder of some event, or make note of information. These occasions may occur, for example, while talking to someone on a phone. At such times, entry of the text on a small touch screen display keyboard or even on the relatively larger keyboard of a notebook computer may not be practical. Instead, it would be preferable to enable the user to make a recording of the verbal information, thereby eliminating the need to enter it as text, via a keyboard. Although portable, hand held analog or digital recorders are currently available, it would be preferable to provide the voice recording capability on a portable, automotive, or appliance computing device that also stores other types of data and is capable of running useful application programs, so the user need not carry about both a dedicated recorder and a digital computing device.
If a digital voice recording capability is provided in a hand held digital computing device, one potential problem or annoyance may be the time delay required to start recording a note. Hand held digital computing devices typically have a limited amount of memory and often use slower and less powerful processors than desktop computers. Accordingly, it is likely that the delay required to launch a user interface (UI) from which a voice recording application can be started would be unacceptable to most people. The time required to boot up a hand held computing device and select a voice recording option could easily be 5 seconds or more. An individual who wants to record a thought or make note of information that is being provided by another person would not want to wait that long before starting to record the data. Instead, it is important to enable the voice recording to start immediately, for example, so that the user need only push a button and begin speaking, even if the digital computing device has not previously been used and the UI is not available to execute a voice recording application.
Also, the user should be able to initiate the voice recording operation in an xe2x80x9ceyes freexe2x80x9d mode, by pushing a predefined control button on the device, which can be identified and actuated solely by feel and location on the computing device. The sound recording function will then be immediately usable at any time, will be operable with one hand, and will be usable under low light conditions and while engaging in other activities such as talking on the telephone or driving a vehicle. This feature would also be employed with other applications or functions that must be started immediately without requiring the user to first launch a UI on a display screen of the hand held computing device, and without requiring the user to see the device in order to run the application.
The present invention is directed to a digital computing device that immediately implements a predefined function in response to a user action, independent of whether a main user interface is currently running on the digital computing device. Included is a power supply for providing electrical power to energize the device. A memory is provided for storing machine instructions. Disposed on the housing for use in selectively causing the device to carry out a predefined function is a switch, so that the switch is readily actuated by the user. A processor is coupled to the memory and to the switch and executes the machine instructions to carry out a plurality of functions. A portion of the machine instructions comprises a stub program that typically runs continually (or at least until the power supply is de-energized), and another portion of the machine instructions comprises a main program that is substantially larger than the stub program. The main program is selectively executed by the processor to provide the main user interface, while the stub program is adapted to immediately respond to a user actuating the switch by implementing the predefined function, even when the main program is not currently running and the main user interface is thus not currently available.
If the main program is not yet running, the stub program is adapted to cause the processor to launch the main program in response to the user actuating the switch. In the preferred application of the present invention, a microphone that produces an analog signal corresponding to sound waves that are incident on the microphone is also included. An analog-to-digital (A/D) converter is coupled to the microphone and to the memory and is employed for converting the analog signal produced by the microphone into a digital signal that is stored in the memory. The predefined function then comprises storing the digital signal from the A/D converter in the memory to record the sound waves that are incident on the microphone.
The stub program is adapted to cause the processor to at least temporarily store the digital signal in the memory until the user stops actuating the switch. However, the stub program causes the processor not to save the digital signal if the user actuates the switch for less than a predefined interval. In this case, the stub program causes the processor to launch the main program and discards the digital signal that was held in the memory. In addition, the stub program preferably further compresses the digital signal and saves the digital signal in the memory in a compressed format, so that less memory is required for storing such data than would be required to stored the digital signal uncompressed.
Preferably, the hand held digital computing device also includes a sound transducer that produces audible sounds in response to an applied analog signal, and a digital-to-analog (D/A) converter that is coupled to the memory to receive the digital signal stored therein and produce the applied analog signal that is input to the sound transducer. The applied analog signal input to the sound transducer causes it to produce audible sounds corresponding to the digital signal to play back the sounds that were stored.
The main program (or an application program that runs under the main program) includes functions for controlling the playback of the digital signal stored in the memory. These functions are controlled using a plurality of controls adapted to be actuated by the user. Included is a control for initiating the playback of the digital signal stored in the memory to produce the sound waves that were incident on the microphone. Also, one of the plurality of controls is adapted to cause the playback of the digital signal at a speed substantially greater than a rate at which the digital signal was provided to the memory by the A/D converter, i.e., at a fast forward rate.
The digital signal stored in memory is preferably divided into discrete segments or notes. The control that causes the fast forward can be held closed in one position for less than a predefined time interval (i.e., tapped) while one segment is playing to immediately start playing the next segment or note of the stored digital signal. If the control is held depressed for longer than the predefined time interval, it causes the device to fast forward through the digital signal of the segment currently being played.
Still another of the plurality of controls is adapted to move back through the digital signal stored in the memory when continuously actuated by the user, in a manner analogous to selectively rewinding through the stored digital signal. The duration of the portion thus xe2x80x9crewoundxe2x80x9d is preferably greater than the time that the control is actuated during the rewind operation. During the rewind process, an audible tone is produced to indicate increments of time corresponding to an extent of reversing through the stored digital signal. The control that causes the fast rewind can be held closed for less than a predefined time interval (i.e., tapped) while one segment or note is playing to immediately start playing the previous segment or note of the stored digital signal.
Further, the machine instructions cause the processor to store the digital signal as a file, in a folder specified by the user. The user can preferably identify the folder by speaking its name into the microphone.
A data port adapted for transmitting the file to another computing device may also be included, so that the digital signal stored in a file can be transferred to the other computing device, e.g., to a personal computer. Further, the main program is preferably adapted to enable the user to record words spoken with the microphone, for inclusion in an e-mail message, or as part of a personal information management program xe2x80x9cnotexe2x80x9d entry, or in any appropriate application to which the user has set the xe2x80x9cfocus.xe2x80x9d
Another aspect of the present invention is directed to a method for immediately implementing a predefined function in response to a user action on a hand held digital computing device, independent of whether a main user interface is currently running on the hand held digital computing device. The steps of the method are generally consistent with the functions discussed above.